package com.panda.system.mapper;

import com.panda.system.domain.TPandaTaskUser;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 操作任务Mapper接口
 * 
 * @author panda
 * @date 2021-03-04
 */
public interface TPandaTaskUserMapper 
{
    /**
     * 查询操作任务
     * 
     * @param id 操作任务ID
     * @return 操作任务
     */
    public TPandaTaskUser selectTPandaTaskUserById(Long id);

    /**
     * 查询操作任务列表
     * 
     * @param tPandaTaskUser 操作任务
     * @return 操作任务集合
     */
    public List<TPandaTaskUser> selectTPandaTaskUserList(TPandaTaskUser tPandaTaskUser);

    /**
     * 新增操作任务
     * 
     * @param tPandaTaskUser 操作任务
     * @return 结果
     */
    public int insertTPandaTaskUser(TPandaTaskUser tPandaTaskUser);

    /**
     * 修改操作任务
     * 
     * @param tPandaTaskUser 操作任务
     * @return 结果
     */
    public int updateTPandaTaskUser(TPandaTaskUser tPandaTaskUser);

    /**
     * 删除操作任务
     * 
     * @param id 操作任务ID
     * @return 结果
     */
    public int deleteTPandaTaskUserById(Long id);

    /**
     * 批量删除操作任务
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTPandaTaskUserByIds(Long[] ids);

    void closeTask(@Param("linkId") String linkId);

    /**
     * 查询操作任务列表
     *
     * @param ids ids
     * @return 操作任务集合
     */
    public List<TPandaTaskUser> selectTPandaTaskUserListByIds(List<Long> ids);

    TPandaTaskUser selectTPandaTaskUserByTask(@Param("taskId") Long taskId,@Param("userId")Long userId);

    List<TPandaTaskUser> getUserTaskListByParentTaskIds(List<Long> taskIds);

    void clearHisData(Date startTime);
}
